API Documentation
Public Member Functions | List of all members
nkWinUi::ContextMenu Class Referenceabstract

A graphical context menu. More...

Inheritance diagram for nkWinUi::ContextMenu:
nkWinUi::Component nkExport::Exportable

Public Member Functions

 ContextMenu ()
 
virtual ~ContextMenu ()
 
ComponentgetParentComponent () const
 
virtual Item * getItem (unsigned int index) const =0
 
virtual unsigned int getItemCount () const =0
 
void setAutomaticSizing (bool value)
 
virtual Item * addItem (const nkMemory::StringView &label, const std::function< void()> &callback)=0
 
virtual void addSeparator ()=0
 
virtual void clearItems ()=0
 
virtual void pop ()=0
 
virtual void recomputeSizeToFitItems ()=0
 
virtual void exportClassToTree (nkExport::Node *rootNode) override
 
virtual void importClassFromTree (nkExport::Node *rootNode) override
 
- Public Member Functions inherited from nkWinUi::Component
 Component ()
 
virtual ~Component ()
 
LayoutgetLayout () const
 
ThemegetTheme () const
 
nkMaths::Point getPositionInParent () const
 
nkMaths::Point getPositionInScreen () const
 
int getWidth () const
 
int getHeight () const
 
nkMaths::Rectangle getAreaInParent () const
 
nkMaths::Rectangle getAreaInScreen () const
 
virtual nkMaths::Point getBorderExtents () const
 
virtual int getLayoutAllowedWidth () const
 
virtual int getLayoutAllowedHeight () const
 
virtual int getLayoutAllowedOffsetX () const
 
virtual int getLayoutAllowedOffsetY () const
 
bool isInitialized () const
 
ComponentgetParentComponent () const
 
COMPONENT_TYPE getComponentType () const
 
nkMemory::StringView getComponentName () const
 
bool getVisibility () const
 
virtual nkMemory::StringView getLabel () const
 
void * getData () const
 
bool isEnabled () const
 
bool isForegroundWindow () const
 
unsigned int getZDepth () const
 
bool getVisibleOnLoad () const
 
virtual LayoutsetLayout (LAYOUT_TYPE layoutType)
 
virtual void setTheme (Theme *theme)
 
virtual void setPositionInParent (nkMaths::Point position)
 
virtual void setPositionInScreen (nkMaths::Point position)
 
virtual void setSize (int width, int height)
 
virtual void setWidth (int width)
 
virtual void setHeight (int height)
 
void setMinSize (unsigned int width, unsigned int height)
 
void setMaxSize (unsigned int width, unsigned int height)
 
void setRatio (float widthOverHeight)
 
virtual void setAreaInParent (const nkMaths::Rectangle &area)
 
virtual void setAreaInScreen (const nkMaths::Rectangle &area)
 
virtual void setParentComponent (Component *parent, bool makeItVisible=true)
 
virtual void setLabel (const nkMemory::StringView &label)
 
void setComponentName (const nkMemory::StringView &name)
 
virtual void setVisibility (bool value)
 
void setData (void *data)
 
void setEnabled (bool value)
 
void setVisibleOnLoad (bool value)
 
void addChild (Component *child, bool makeItVisible=true)
 
void removeChild (Component *child)
 
void removeChild (unsigned int index)
 
ComponentgetChild (unsigned int index)
 
unsigned int getChildIndex (Component *child)
 
void unloadWithChildren ()
 
void loadWithChildren ()
 
void updateZDepth ()
 
void bringToForeground ()
 
void focusWindow ()
 
nkMaths::Point getCoordRelativeFromAbsolute (const nkMaths::Point &absCoords)
 
nkMaths::Point getCoordAbsoluteFromRelative (const nkMaths::Point &relCoords)
 
virtual void load ()=0
 
virtual void unload ()=0
 
virtual void updateWindow ()
 
nkImages::Image paintToImage (bool withFrame=false)
 
void simulateEvent (const InputDescriptor &inputDescription)
 
void onSized ()
 
virtual void exportIntrospection (nkExport::Node *rootNode)
 
- Public Member Functions inherited from nkExport::Exportable
 Exportable ()
 
virtual ~Exportable ()
 

Detailed Description

A graphical context menu.

Constructor & Destructor Documentation

◆ ContextMenu()

nkWinUi::ContextMenu::ContextMenu ( )

Constructor.

Remarks
See ComponentManager::createOrRetrieve().

◆ ~ContextMenu()

virtual nkWinUi::ContextMenu::~ContextMenu ( )
virtual

Destructor.

Member Function Documentation

◆ getParentComponent()

Component* nkWinUi::ContextMenu::getParentComponent ( ) const
Returns
The parent component of the context menu.

◆ getItem()

virtual Item* nkWinUi::ContextMenu::getItem ( unsigned int  index) const
pure virtual

Getter for a given item.

Parameters
indexThe index of the item to retrieve.
Returns
The item at given index if available, nullptr otherwise.
Remarks
A separator will also return nullptr, currently. As such, to loop over all items, be sure to get the item count via the right getter.

◆ getItemCount()

virtual unsigned int nkWinUi::ContextMenu::getItemCount ( ) const
pure virtual
Returns
The number of items displayed by the menu.

◆ setAutomaticSizing()

void nkWinUi::ContextMenu::setAutomaticSizing ( bool  value)

Sets whether the menu should auto size itself when popping out. This will ensure the menu is having the right size for the items it showcases.

Parameters
valueIf the menu should auto size itself (true) or not (false).

◆ addItem()

virtual Item* nkWinUi::ContextMenu::addItem ( const nkMemory::StringView label,
const std::function< void()> &  callback 
)
pure virtual

Adds an item to the menu. In the menu, items appear in the order they are declared.

Parameters
labelThe label of the item to create.
callbackThe callback if the item is clicked while the menu is displayed.
Returns
The item newly created.

◆ addSeparator()

virtual void nkWinUi::ContextMenu::addSeparator ( )
pure virtual

Adds a separator.

◆ clearItems()

virtual void nkWinUi::ContextMenu::clearItems ( )
pure virtual

Clear all items registered in the menu to start fresh.

◆ pop()

virtual void nkWinUi::ContextMenu::pop ( )
pure virtual

Makes the item pop on screen.

Remarks
While the setVisibility() method could be used, this pop() method will also do some menu related processing (sizing, ...).

◆ recomputeSizeToFitItems()

virtual void nkWinUi::ContextMenu::recomputeSizeToFitItems ( )
pure virtual

Recomputes the component's area to fit the items currently registered. Can be called to manually trigger an automatic sizing.

◆ exportClassToTree()

virtual void nkWinUi::ContextMenu::exportClassToTree ( nkExport::Node rootNode)
overridevirtual

Basic export capability.

Parameters
rootNodeThe root of the tree to populate.

Reimplemented from nkWinUi::Component.

◆ importClassFromTree()

virtual void nkWinUi::ContextMenu::importClassFromTree ( nkExport::Node rootNode)
overridevirtual

Basic import capability.

Parameters
rootNodeThe root of the tree to import from.

Reimplemented from nkWinUi::Component.


The documentation for this class was generated from the following file: